Single Instruction Multiple Data (SIMD) instructions allow a same instruction to be performed simultaneously on multiple sets of data (a dataset). A SIMD instruction reduces the total execution time compared to performing the same instruction serially on each of the sets of data. SIMD instructions are typically used to accelerate performance in applications including multimedia, video, audio encoding/decoding, 3-Dimensional (3-D) graphics and image processing. For example, Intel Pentium MMX Processors have Streaming SIMD Extension (SSE) instruction sets.
The elements of the dataset are typically stored in a “packed vector”, that is, a data structure that includes a plurality of data elements of the same size. Typically, a set of SIMD instructions may operate on either 64-bit dataset or a 128-bit dataset which may be loaded at one time.
An SSE instruction set may include integer instructions that operate on 64-bit or 128-bit datasets and double-precision floating point instructions that allow two floating-point operations to be simultaneously executed providing support for double-precision operations. Double precision operations help accelerate content creation, financial, engineering, and scientific applications.
Although the following Detailed Description will proceed with reference being made to illustrative embodiments of the claimed subject matter, many alternatives, modifications, and variations thereof will be apparent to those skilled in the art. Accordingly, it is intended that the claimed subject matter be viewed broadly, and be defined only as set forth in the accompanying claims.